[レポート]ワークショップ「Connected worker safety with robots and Terraform」に参加して、Terraform を使って四足歩行ロボットを動かしてきた #AWSreInvent
AWS 事業本部 コンサルティング部の有福です。
AWS re:Invent 2023 においてワークショップ「Connected worker safety with robots and Terraform」に参加してきたのでレポートします。
セッション概要
In this workshop, learn how to build a solution to help improve worker safety using AWS services. Learn how to use AWS Amplify to issue commands to individual robots and an entire fleet of robots. This solution also includes connectivity with an air quality sensor to track simulated toxins in the environment. To streamline deployment and management, learn to deploy this solution using Terraform.
(和訳)このワークショップでは、AWSサービスを使って作業員の安全性を向上させるソリューションを構築する方法を学びます。AWS Amplifyを使用して、個々のロボットやロボット群全体にコマンドを発行する方法を学びます。このソリューションには、環境中の模擬毒素を追跡するための大気質センサーとの接続も含まれています。デプロイと管理を効率化するために、Terraformを使ってこのソリューションをデプロイする方法を学びます。
セッションでの学び
- ロボティクスの進歩と一般的なユースケース
-
現代のロボティクスでは IoT が中核を担っている
-
AWS 上における IoT と MQTT の活用方法
-
ロボティクス、AWS IoT、Terraform を活用したコネクテッドワーカーの安全ソリューションの構築方法
セッション内容
Acceleration/evolution of robotics; common use cases
-
ロボットの世界的在庫は今後20年間でさらに増え、2030年には2,000万台に達すると予測されている
-
現代ロボットでは複雑な自律作業、人間との協働、高度なデータ分析などが行われている
-
ロボティクスの一般的なユースケース
- 遠隔測定データの収集と保存
-
シミュレーションによるテストと検証
-
無線ソフトウェアのプロビジョニング
-
機械学習オペレーション
-
フリート管理と遠隔操作
-
マルチベンダーの共有スペース管理
-
AWS と高度な現世代のロボット
Scenario - IoT and robotics to improve woker safety
-
IoT とロボティクスを組み合わせたソリューション
- MQTTメッセージでデバイスの状態や現場の環境安全性などを中継することによる、ほぼリアルタイムの観測
-
取得データを活用してデジタルツイン(現実環境をサイバー空間に再現)を作成
-
送信されたメッセージに基づいて、物理的に自動応答(例:スタッフに危険を警告)
-
AWS IoT Greengrassを介した Amazon SageMaker による機械学習
-
Amazon Kinesis によるライブビデオフィード
IoT and MQTT explained
-
IoT = Internet of Things
- コネクテッドカー、スマートシティ、ロボティクスなど
- MQTT = Message Queuing Telemetry Transport
- マシン間で使用される標準的なメッセージングプロトコルまたはそのルールセット
-
軽量でスケーラブルなプロトコルで、多数の IoT デバイスとの通信をサポート
-
スマートセンサー、ウェアラブルデバイス、IoT デバイスのデータ送受信では MQTT が使われる
Hardware overview
-
Mini Pupper 2
- ハンズオンで使用するの四足歩行ボット(Rasberry Pi ベース)
- M5StickC PLUS Kit
- 空気品質センサーが検出したガスを分析し、レスポンスを返すロジックを備えたウェアラブルなポータブルデバイス
-
設定した閾値に基づいてアラーム状態になり、ロボットを動作させるための MQTT メッセージを送信
- TVOC/eCO2 Gas Sensor Unit
- ガスセンサーユニット
-
M5StickC PLUS Kit と組み合わせることで、ウェアラブル空気質センサーにできる
AWS services deployed
- AWS IoT Core
- IoT デバイスと MQTT メッセージをAWSに接続し、メッセージ処理を制御
- AWS Amplify
- デバイス情報やロボットの制御を含む管理アプリケーションを提供
- AWS AppSync
- 管理アプリケーションと統合するための GraphQL API バックエンドを提供
- Amazon Cognito
- 管理アプリケーションの認証処理を制御
- Amazon DynamoDB
- デバイスのメタデータを保存
Working with Terraform
- Terraform 使って必要な AWS リソースをデプロイ
-
Terraform の基本コマンドについて説明
Bringing it all together: build a connected worker safety solution with robots and AWS IoT
-
ハンズオンの流れ
- Cloud9 環境の準備
-
IAM ロールの設定
-
用意されたソースコードをダウンロード
-
IoT デバイスにプログラムをアップロードするためのライブラリなどをインストール・設定
-
Terraform で AWS リソースをデプロイ
-
PC を IoT デバイスが接続されている WiFi に接続
-
ガスセンサーデバイスにコンパイル済みバイナリデータをアップロード
-
IoT Core で ガスセンサーデバイスからの MQTT メッセージ受信を確認
-
ガスセンサーデバイスにアルコールをかけてアラーム状態になることを確認
-
アラーム状態時の MQTT メッセージの内容を確認
- Amplify アプリを Cloud9 のローカル上で起動してログイン
- IoTデバイスの情報表示、操作コマンドなど Amplify アプリの仕様を確認
- Congnito ユーザーに AWS IoT に関する権限をアタッチ
- Amplify アプリから 操作コマンドの MQTT が発行されることを確認
- ブラウザからロボットに接続し、ロボット内にインストールされている Jupyter Notebook にアクセス
-
AWS IoT Greengrass からロボット接続するために必要なコマンドを Jupiter Notebook 上で実行
- AWS IoT コンソールで対象のロボットがデバイスとして追加されたことを確認
- Terraform で AWS IoT Greengrass リソースをデプロイ
-
ロボットが制御可能になったことを確認
- Amplify アプリから操作コマンド実行時の動作の確認
-
ガスセンサーのアラートをトリガーにした動作の確認
- ハンズオンで使用したソースコード
まとめ
本ワークショップでは、私が普段の業務で触れる機会のほとんどない IoT やロボティクスといった分野について学びました。
AWS を利用することで IoT に関する機能のデプロイを行うことができるうえ、IaC ツールである Terraform も使ってデプロイ内容をコード化することで、IoT やロボティクスに関する知識の少ない私でも 2時間という限られた時間で必要なリソースのデプロイを行い、実際にロボットを動作させることまでできました。
最終的な動作確認では、AWS Amplify でデプロイされた Web アプリケーションからロボットを動かせることが確認できたほか、ガスセンサーによるガス検知をトリガーにロボットが予めプログラムされた動作をするという IoT デバイス間の連携も確認できました。
今後も需要増加と技術発展が予想されているロボティクス分野において IoT とクラウドの組み合わせは必要不可欠な存在であるということを肌で感じさせられたセッションでした。